package com.v2.k29;


import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 测试MergedBeanDefinition
 */
public class Test {

	public static void main(String[] args) {
		//抽象bean是不会生成，但是抽象beanDefinition 是会生成的，合并前的类型是GnericBeanDefinition
		//然后可以看到mergedBeanDefinition（map类型）中就是合并之后的bd，这样person1也有合并后的mbd，student1也有合并后的mdb（这里面就会有person1的scope）
		//如果子类有的属性值，以子类的属性值为准   合并后的类型是RootBeanDefinition
		//所以bd主要的两个类是GnericBeanDefinition 和 RootBeanDefinition
		ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-k29.xml");
		System.out.println(applicationContext.getBean(Student.class));
		System.out.println(applicationContext.getBean(Student.class));
//		System.out.println(applicationContext.getBean(Person.class)); //报错，抽象bean是不会生成的  跟抽象类一样

	}


}

abstract class t1{

}

class t2 extends t1{

}

